package TransactionImplementation

import (
	"PaySalary/AbstractTransactions"
	"PaySalary/Model"
	"PaySalary/ModelImplementation"
)

type AddCommissionedEmployee struct {
	AbstractTransactions.AddEmployeeTransaction
	itsSalary float64
	itsCommissionRate float64
}

func (a *AddCommissionedEmployee)NewAddCommissionedEmployee(empid int, name string, address string, salary float64, commissionRate float64)  {
	a.AddEmployeeTransaction.NewAddEmployeeTransaction(empid,name,address)
	a.itsSalary = salary
	a.itsCommissionRate = commissionRate
}

func (a * AddCommissionedEmployee)GetClassification() Model.PaymentClassification {
	return ModelImplementation.NewCommissionedClassification(a.itsSalary,a.itsCommissionRate)
}

func (a *AddCommissionedEmployee) GetSchedule() Model.PaymentSchedule {
	return ModelImplementation.BiweeklySchedule{}
}